package com.yuanian.ecsplus.meta.entity;

import com.yuanian.ecsplus.meta.Meta;
import com.yuanian.ecsplus.model.entity.BaseModel;
import com.yuanian.ecsplus.page.Pagination;
import java.util.List;
import java.util.Map;

/**
 * 实体类的元数据
 * @param <T>
 */
public interface MetaEntity<T extends BaseModel> extends Meta<T> {

    /**
     * 创建对象
     * @param initData
     * @param obj
     * @return
     */
    T create(Map initData, T obj);

    /**
     * 根据DATAID搜索数据
     * @param dataId
     * @return
     */
    T selectBoDataByBoDataId(String dataId);


    Pagination<T> findList(String sql, int limit, int offset, boolean totalResults, String orderBy);


    T findFieldList(Map initData, boolean insertFlag);

}
